In [1]:
%matplotlib inline
In [74]:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
In [35]:
import folium
from folium.plugins import MarkerCluster
In [31]:
print(folium.__file__)
print(folium.__version__)
/home/stijn_vanhoey/miniconda2/envs/inbobase/lib/python3.5/site-packages/folium/__init__.py
0.2.0
In [177]:
!head -n 2 muskusos.csv
gbifid	datasetkey	occurrenceid	kingdom	phylum	class	order	family	genus	species	infraspecificepithet	taxonrank	scientificname	countrycode	locality	publishingorgkey	decimallatitude	decimallongitude	elevation	elevationaccuracy	depth	depthaccuracy	eventdate	day	month	year	taxonkey	specieskey	basisofrecord	institutioncode	collectioncode	catalognumber	recordnumber	identifiedby	rights	rightsholder	recordedby	typestatus	establishmentmeans	lastinterpreted	mediatype	issue
682599312	b124e1e0-4755-430f-9eab-894f25a9b59c	NZF:SO-Vertebr:10472	Animalia	Chordata	Mammalia	Artiodactyla	Bovidae	Ovibos	Ovibos moschatus		SPECIES	Ovibos moschatus (Zimmermann, 1780)	NO	Reinheim	d3978a37-635a-4ae3-bb85-7b4d41bc0b88	62.34164	9.35702	0.0	0.0			2008-08-12T00:00Z	12	8	2008	2441108	2441108	HUMAN_OBSERVATION	NZF	SO-Vertebr	10472					Øystein Folden			2015-06-05T21:36Z		COORDINATE_ROUNDED;GEODETIC_DATUM_ASSUMED_WGS84
In [178]:
muskusos = pd.read_csv("muskusos.csv", sep='\t')
In [6]:
muskusos.columns
Out[6]:
Index(['gbifid', 'datasetkey', 'occurrenceid', 'kingdom', 'phylum', 'class',
       'order', 'family', 'genus', 'species', 'infraspecificepithet',
       'taxonrank', 'scientificname', 'countrycode', 'locality',
       'publishingorgkey', 'decimallatitude', 'decimallongitude', 'elevation',
       'elevationaccuracy', 'depth', 'depthaccuracy', 'eventdate', 'day',
       'month', 'year', 'taxonkey', 'specieskey', 'basisofrecord',
       'institutioncode', 'collectioncode', 'catalognumber', 'recordnumber',
       'identifiedby', 'rights', 'rightsholder', 'recordedby', 'typestatus',
       'establishmentmeans', 'lastinterpreted', 'mediatype', 'issue'],
      dtype='object')
In [7]:
fig, ax = plt.subplots()
ax.plot(muskusos["decimallongitude"].values, muskusos["decimallatitude"].values, "o")
Out[7]:
[<matplotlib.lines.Line2D at 0x7f672dbb26a0>]
In [197]:
ossen = folium.Map(tiles='MapQuest Open') # tiles='Cartodb Positron', zoom_start=1)
In [201]:
latlon = muskusos[["decimallatitude", "decimallongitude"]].dropna()
lons = latlon["decimallongitude"].values
lats = latlon["decimallatitude"].values

locations = np.vstack((lats, lons)).transpose()  #list(zip(lats, lons))
locations = locations.reshape(int(locations.size/2), 2)
popups = muskusos['taxonrank']
count=0 for lon, lat in zip(lons, lats): count+=1 marker = folium.map.Marker([lat, lon]) ossen.add_children(marker)
In [202]:
ossen.add_children(MarkerCluster(locations=locations, popups=popups))
ossen
Out[202]:
In [ ]:
 
In [ ]:
 
In [ ]:
 
In [ ]: